/*
 *  Getris -- A Tetris game written in Groovy.
 *  Copyright (C) 2008 Johnny Jian
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License along
 *  with this program; if not, write to the Free Software Foundation, Inc.,
 *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
package cn.johnnyjian.getris.game.score

class ScoreKeeper {

	def score
	def lines
	def level
	def last

	ScoreKeeper() {
		score = 0
		lines = 0
		level = 1
		last = 0
	}

	def addLines(n) {
		// 1 line: (10 * level) scores
		// 2 lines: (25 * level) scores
		// 3 lines: (45 * level) scores
		// 4 lines: (70 * level) scores
		score += (10 * n + ((n - 1) * n).intdiv(2) * 5) * level
		lines += n
		if (lines - last >= 10) {
			level += (lines - last).intdiv(10)
			last = lines.intdiv(10) * 10
		}
	}

}
